package cn.edu.zufe.mjt.hash;


import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 *  前缀查询问题
 *  <a href="https://www.bilibili.com/video/BV1cxtMz1Eii?spm_id_from=333.788.videopod.sections&vd_source=4e22d3ff754e74caa9cf85e304fe5453">
 *      B站视频</a>
 *  给定一个长度为n的数组a，数组中的每个元素都是正整数。我们需要回答n个查询，
 *  第i个查询是关于数组前缀a[0]...a[i-1]的：对于每一个 i，请你计算在前缀中数字 i 出现了多少次。
 */
public class PrefixQueryQuestions {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] a = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = sc.nextInt();
        }
        prefixQuery(a);
    }

    /**
     * 扫描法，每次遍历数组，统计前缀元素，并输出当前轮次数出现的次数。
     */
    public static void prefixQuery(int[] a) {
        Map<Integer, Integer> count = new HashMap<>();
        for (int i = 0; i < a.length; i++) {
            count.put(a[i], count.getOrDefault(a[i], 0) + 1);
            System.out.println(count.getOrDefault(i+1, 0));
        }
    }
}
